package br.inf.ufpr.formulario.domain;

import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import org.springframework.roo.addon.entity.RooEntity;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;
import br.inf.ufpr.formulario.domain.Pessoa_E;
import javax.persistence.ManyToOne;
import java.util.Set;
import br.inf.ufpr.formulario.domain.Carta_E;
import java.util.HashSet;
import javax.persistence.ManyToMany;
import javax.persistence.CascadeType;
import br.inf.ufpr.formulario.domain.LinhaPesquisa_E;

@RooJavaBean
@RooToString
@RooEntity
public class Registro_E {

    @NotNull
    private Integer turma;

    @NotNull
    private Boolean semestre;

    @NotNull
    private String poscomp;

    @NotNull
    private Boolean regime;

    @NotNull
    private Boolean vinculoEmpregaticio;

    @NotNull
    private String opcionalDocente;

    @NotNull
    private Boolean opcionalEmpregador;

    @NotNull
    private Boolean bolsa;

    @NotNull
    private String motivacao;

    @NotNull
    @ManyToOne
    private Pessoa_E candidato;

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<Carta_E> carta = new HashSet<Carta_E>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<LinhaPesquisa_E> listaPesquisa = new HashSet<LinhaPesquisa_E>();
}
